package com.ruoyi.system.service;

import java.util.List;

import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.system.domain.MeetingManagement;
import com.ruoyi.system.domain.vo.UserEducationVo;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;

import javax.servlet.http.HttpServletResponse;

/**
 * 会议管理Service接口
 *
 * @author ruoyi
 * @date 2024-04-02
 */
public interface IMeetingManagementService
{
    /**
     * 查询会议管理
     *
     * @param id 会议管理主键
     * @return 会议管理
     */
    public MeetingManagement selectMeetingManagementById(Long id);

    /**
     * 查询会议管理列表
     *
     * @param meetingManagement 会议管理
     * @return 会议管理集合
     */
    public List<MeetingManagement> selectMeetingManagementList(MeetingManagement meetingManagement);

    /**
     * 新增会议管理
     *
     * @param meetingManagement 会议管理
     * @return 结果
     */
    public AjaxResult insertMeetingManagement(MeetingManagement meetingManagement);

    /**
     * 修改会议管理
     *
     * @param meetingManagement 会议管理
     * @return 结果
     */
    public int updateMeetingManagement(MeetingManagement meetingManagement);


    /**
     * 删除会议管理信息
     *
     * @param id 会议管理主键
     * @return 结果
     */
    public int deleteMeetingManagementById(Long id);


    /**
     * 查询会议会议签到统计列表
     *
     * @param meetingManagement 会议管理
     * @return 会议管理集合
     */
    public List<MeetingManagement> selectMeetingSignaturelist(MeetingManagement meetingManagement);


    /**
     * 查询参加的会议列表
     *
     * @param meetingManagement 会议管理
     * @return 会议管理集合
     */
    public List<MeetingManagement> selectJoinMeetingManagementList(MeetingManagement meetingManagement);

    /**
     * 查询已参加的会议列表
     *
     * @param meetingManagement 会议管理
     * @return 会议管理集合
     */
    public List<MeetingManagement> selectjoinedlist(MeetingManagement meetingManagement);


    /**
     * 导出会议通知
     */
    public void exportMeetingNotify(MeetingManagement meetingManagement, HttpServletResponse response);


    /**
     * 导出会议签到
     */
    public void exportMeetingSignature(MeetingManagement meetingManagement, HttpServletResponse response);


    /**
     * 党建大数据 会议分布
     */
    public List<UserEducationVo>  meetingStructure(String queryYear);
}
